//
//  AboNetwork.h
//  EyuGameSDK
//
//  Created by 李长春 on 2022/5/12.
//

#import <Foundation/Foundation.h>

NS_ASSUME_NONNULL_BEGIN

typedef enum{
    CmpboSDKinit,
    CmpboAccountAbout,
    CmpboGmaiModel,
    CmpboLogReport,
    CmpboActivity
}CmpboUrlType;

typedef void (^AboNetworkSuccessBlock)(NSDictionary *successBack);

typedef void (^AboNetworkFailureBlock)(NSError *error);

@interface AboNetwork : NSObject

#pragma mark - 全局URL new
+(NSString*)GameHelpBaseUrlAboutType:(CmpboUrlType)type;

#pragma mark - 获取固定参数 new
+(void)GetCoreDataFunctionmanager;

#pragma mark - 刷新 asa token 的值
+(void)GetAsaTokenDicLastValue;

#pragma mark - 检测参数
+(void)RequestBeforeCherkParams;

#pragma mark - 初始化 new
+(void)NetWorkWithInitEyuSuccess:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 登录
+(void)NetWorkSignWithData:(NSDictionary*)loginData Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 用户详情
+(void)NetWorkUserInformationSuccess:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 用户绑定
+(void)NetWorkUserBind:(NSDictionary*)bindData Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 用户解绑
+(void)NetWorkUserUnbind:(NSDictionary*)unbindData Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 用户注销
+(void)NetWorkUserLogoutSuccess:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 支付 初始化 new
+(void)NetworkStoreInitWithRoleMsg:(NSDictionary*)roleMessage itemid:(NSString*)item_id Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 下单 new
+(void)NetworkStoreOrderIdWithRoleMsg:(NSDictionary*)roleMessage data:(NSDictionary*)storeData Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 检测订单 new
+(void)NetworkStoreCheckWithOrderID:(NSString*)orderId Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 支付回调 new
+(void)NetworkStoreCallbackWithRoleMsg:(NSDictionary*)roleMessage data:(NSDictionary*)receipts Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 查询是否重复上报 new
+(void)NetworkStoreAfterIsMoreUpdate:(NSString*)orderId Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;
    
#pragma mark - 取消支付上报 new
+(void)NetworkStoreCancelPayUpdate:(NSString*)orderId user:(NSDictionary*)userDict Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 活动攻略 new
+(void)NetworkActivityStrategy:(NSDictionary*)info Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 查找账户好友
+(void)NetworkUserFriends:(NSString*)type openids:(NSArray*)openids Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

#pragma mark - 上报 new
/** 角色新增*/
+(void)NetworkRoleLogForAdd:(NSDictionary*)roleData Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

/** 角色登录*/
+(void)NetworkRoleLogForLogin:(NSDictionary*)roleData Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

/** 角色升级*/
+(void)NetworkRoleLogForLevelUp:(NSDictionary*)roleData Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

/** 事件打点*/
+(void)NetworkRoleLogForEventPoint:(NSDictionary*)roleData eventData:(NSDictionary*)events Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

/** 错误上报*/
+(void)NetworkGameErrorEventReport:(NSDictionary*)roleData errorData:(NSDictionary*)errors Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;

/** 支付失败错误打点*/
+(void)NetworkReportPayFailPoint:(NSDictionary*)roleData eventData:(NSDictionary*)events Success:(AboNetworkSuccessBlock)EyuSuccess EyuFail:(AboNetworkFailureBlock)EyuFail;
@end

NS_ASSUME_NONNULL_END
